
package models.spider.parser.aaa.rdf;

import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElement;

/**
 * @author laurent@opprecht.info
 */
@XmlAccessorType(XmlAccessType.FIELD)
public class Resource {

    /**
     * The AAA type: a space, an asset, an actor, a comment
     */
    @XmlElement(namespace = "http://www.w3.org/1999/02/22-rdf-syntax-ns#")
    public Type          type        = null;
    /**
     * Visibility. Private item CONTENT is only available to asset members.
     * Public item CONTENTS is accessible by all Inherited item CONTENTS is
     * accessible if group is accessible.
     * 
     */
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public String        visibility  = null;
    /**
     * id, the identifier
     */
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public String        id          = null;
    /**
     * The public identifier
     */
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public String        pid         = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public String        dataset     = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    /**
     * The view/access url
     */
    public String        url         = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    /**
     * The data url i.e. where the data can be parsed
     */
    public String        data        = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public String        name        = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public String        description = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public String       dl = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public String        thumbnail   = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public Link          group       = null;
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public List<String>  tags        = new ArrayList<String>();
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public List<Link>    actors      = new ArrayList<Link>();
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public List<Link>    spaces      = new ArrayList<Link>();
    @XmlElement(namespace = "http://ple.unige.ch/re/1#")
    public List<Link>    assets      = new ArrayList<Link>();
    @XmlAnyElement
    private List<Object> nodes;
}
